Overview
The information contained in this specification provides
implementation guidelines and defines additional capabilities
beyond the binary standards provided by the UNIX System V
Application Binary Interface (the Generic ABI or gABI) and the MIPS
Processor Specific ABI (psABI), which are required for the development
and distribution of shrinkwrap software.
The vendors contributing to the development of this
Conformance Specification include:
Concurrent Computers,
Control Data Systems Incorporated,
Ing. C. Olivetti & Co. SpA,
MIPS Technologies Incorporated,
NCR,
NEC Corporation,
Pyramid Technology Corporation,
Silicon Graphics Incorporated,
Siemens Nixdorf Informationssysteme AG,
Sony Microsystems,
Tandem Computers,
Unisoft Group Limited,
and UNIX International.
These vendors are known collectively as the MIPS
ABI group.
UNIX System Laboratories has supported the effort through review and
comment on the specifications as they were developed.
The ISVs contributing to the development of this Implementation
Guide and Conformance Specification include
Oracle Corporation and SAS Institute Incorporated.
Audience and Purpose
This specification is intended to guide application writers in
developing software that will run portably across all MIPS®
RISC processor-based systems that are ABI compliant.
It also is a specification for implementors of compliant operating systems.
This document is intended to define areas beyond the
current ABIs as well as address any outstanding ambiguities.
Some information may not be relevant to all audiences.
It is intended that application writers and ISVs use the gABI and
the psABI in conjunction with this specification as a complete
and rich environment for portable application development on the
MIPS ABI reference processor.
Relationship to OCMP
Several of the member firms of the MIPS ABI group are also active in the
Open Computing environment for MIPS Platforms (OCMP) efforts in Japan.
The OCMP-ABI is based on the MIPS ABI version 1.0.1 with extensions
in several areas:
-
Internationalization and localization, especially in Japanese language support
-
CD-ROM access libraries
-
Specification of X11R5 and OSF/Motif 1.2.
The intent of both the MIPS ABI group and the OCMP members is to keep their
respective specifications aligned.
This revision of this document introduces X11R5
and OSF/Motif 1.2 as required interfaces supported by Dynamic Shared Object
libraries, reconciling the difference between the OCMP-ABI and the earlier
revisions of this document.
Internationalization and CD-ROM access libraries are
possible future additions to the MIPS ABI, but are not yet formally part
of it.
Organization
This specification is organized similarly to other ABIs for ease of
use with the companion standards.
In addition to the standard ABI, this specification covers
conformance testing issues, implementation guidelines,
and future directions.
This book is organized as follows:
-
Chapter 1 provides overview information, including
a summary of additions to the ABI and an explanation of
conformance issues.
-
Chapter 2 describes software installation and packaging
issues.
-
Chapter 3 presents low level system information.
-
Chapter 4 describes object files.
-
Chapter 5 describes program loading and dynamic linking.
-
Chapter 6 presents library information.
-
Chapter 7 describes formats and protocols.
-
Chapter 8 describes system commands.
-
Chapter 9 describes execution environments.
-
Chapter 10 describes windowing and terminal interfaces.
-
Chapter 11 discusses development environments for
an ABI system.
-
Chapter 12 discusses future directions.
Related Documentation
The following books should be used for reference.
-
System V Application Binary Interface, Revised First Edition, Prentice-Hall, ISBN 0-13-880410-9.
This is the defining document for the gABI.
-
System V Application Binary Interface, MIPS Processor Supplement, Revised Edition, to be published by Prentice-Hall, Spring, 1993.
This is the defining
document for the psABI for the MIPS Processor family.
Pending publication of the Revised Edition, the existing MIPS Processor Supplement, ISBN 0-13-880170-3, is nearly the same as the revised edition. Single copies of these books may be obtained from Prentice-Hall by calling 201-767-5937.
-
MIPS RISC Architecture, ISBN 0-13-584749-4
-
X Window System: the Complete Reference to Xlib, X Protocol, ICCCM, XLFD, Digital Press ISBN 1-55558-088-2
-
OSF/Motif ®
Programmer's Reference, Revision 1.2, Prentice-Hall, ISBN 0-13-643115-1
Terminology
The following terms are used throughout this book.
- ABI
A specification conforming to the
System V Application Binary Interface.
The
System V ABI
for a particular system is composed of the generic ABI,
the processor-specific supplement for
the processor used in the system, and the processor-specific
conformance guide (this volume) used in the system.
- ABI-conforming program
A program written to include only the system routines, commands,
and other resources included in the ABI;
a program compiled into an executable file that has the
formats and characteristics specified for such files in the ABI;
a program whose behavior complies with the rules given in
the ABI.
- ABI-conforming system
A computer system that provides the binary system interface
for application programs described in the
System V ABI.
- ABI-nonconforming program
A program written to include system routines, commands,
and other resources not included in the ABI;
a program compiled into a format different from that specified
in the ABI; a program whose behavior does not comply with
the rules given in the ABI.
- Generic ABI
The processor-independent portions of the
System V Application Binary Interface.
- Processor-specific ABI or Supplement
Those portions of the
System V ABI
specific to a particular processor architecture.
- Reference Platform
The combination of hardware and software such that ABI-conforming
applications which are generated on and execute
correctly on the reference platform are guaranteed to execute
correctly on all ABI-conforming systems.
The reference platform hardware for the MIPS ABI group consists of the
Silicon Graphics family of workstations and servers, including:
-
Personal IRIS Workstations
-
INDY Workstation
-
INDIGO and INDIGO R4000 Workstations
-
CRIMSON Systems
-
Power Series Servers
-
CHALLENGE Servers
-
ONYX Workstations
The reference platform software for the MIPS ABI group consists of a
reference operating system IRIX® 5.1, compiler suite IRIS®
Development Option 3.17 and an ABI Build Environment Kit. (The ABI
Build Environment Kit will be available from Silicon Graphics'
Developer Support Organization until it is incorporated into an
available software release. The other software has been released.)
The ABI is based on the R3000 instruction set, although compatible
applications may be built on both the R3000 and R4000 based systems.
- Undefined behavior
Behavior that may vary from instance to instance or may change
at some time in the future.
Some undesirable programming practices are marked in the ABI
as yielding undefined behavior.
- Unspecified property
A property of an entity that is not explicitly included or
referenced in the ABI and may change at some time in the future.
In general, it is not good practice to make a program
depend on an unspecified property.
Conformance
The collection of these three volumes, the gABI, the psABI, and this
specification, define the standard interfaces for compiled application
programs on the MIPS architecture.
General Guidelines for Porting to MIPS ABI Platforms
A guide describing
Porting to the MIPS ABI group Reference Platform
is available.
The porting guide includes information on how to port applications
to the reference platform, as well as a summary of common problems
encountered when porting applications. This guide is available from the
Silicon Graphics Developer's Advocacy group or any of the other companies participating in the
MIPS ABI group.
Working with the MIPS ABI group
A reference paper describing the MIPS ABI group is available.
It includes general information about the group
as well as a list of marketing and technical
representatives from each company. Application developers who wish to develop MIPS ABI compliant applications should contact the Applications manager
at any one of the MIPS ABI companies to get detailed information on developer and
marketing programs.
Platform Compliance Testing
All MIPS ABI conforming systems are measured for compliance
against the MIPS ABI PVTS (Platform Verification Test Suite). This test
suite is maintained and enhanced by Silicon Graphics under the supervision of the
MIPS ABI Technical Committee. (Significant prior work on PVTS was done
by Sony Microsystems, and by UniSoft.)
Compliance testing ensures that the
interfaces provided by the vendors manifest
the specified semantics and syntax.
The PVTS also verifies features contained in the
ABI documents that may not have programmatic interfaces
but may still be needed to satisfy binary compatibility.
The group also performs multiple platform testing of selected
applications to ensure that "real world" compatibility is achieved.
The Application Compliance Testing Tool (ACT)
The reference platform operating system provides an Application
Compliance Testing tool to check the ABI compliance of a binary program.
The tool is provided as an aid in identifying problem areas in producing
a compliant binary; passing the tests provided by the tool
does not ensure complete conformance.
check_abi_compliance
Determines whether a binary references
anything which is not defined by the
ABI as well as making certain that it
supplies variables which are required
by the ABI.
check_abi_interface
Determines if a shared object supplies
all public routines which are required of it by the ABI.
It will also list public
routines which the shared object
supplies which are not part of the ABI.
check_for_syscalls
Finds any system calls in a binary (i.e., invocations of
the procedure,
syscall
).
Binaries which contain system calls are
inherently not ABI compliant.
Back to the Table of Contents
Back to the MIPS ABI Home Page
Maintained by webmaster@mipsabi.org
last modified on October 2, 1995
Copyright © 1995, MIPS ABI Group, Incorporated.